#ifndef __RC5TESTVECTORSSET2__
#define __RC5TESTVECTORSSET2__

#include "../plainkeycipher.h"

// Test vectors from <https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/rc5/Rc5-128-64.verified.test-vectors>

static const std::vector <PlainKeyCipher> RC5_TEST_VECTORS_SET_2 = {
    std::make_tuple("8000000000000000", "00000000000000000000000000000000", "4FA2D5EE39B74137"), 
    std::make_tuple("4000000000000000", "00000000000000000000000000000000", "04E60FB5C6441DD5"), 
    std::make_tuple("2000000000000000", "00000000000000000000000000000000", "FA1171CD58261F10"), 
    std::make_tuple("1000000000000000", "00000000000000000000000000000000", "349E3CD78060E5EB"), 
    std::make_tuple("0800000000000000", "00000000000000000000000000000000", "54C6C8482AB8A4E2"), 
    std::make_tuple("0400000000000000", "00000000000000000000000000000000", "804BCFE59F0C8954"), 
    std::make_tuple("0200000000000000", "00000000000000000000000000000000", "F4D14CFA3EE9B481"), 
    std::make_tuple("0100000000000000", "00000000000000000000000000000000", "DA968333A6C65BE7"), 
    std::make_tuple("0080000000000000", "00000000000000000000000000000000", "46C4FF9301503D2D"), 
    std::make_tuple("0040000000000000", "00000000000000000000000000000000", "CDFF074C4BA8265E"), 
    std::make_tuple("0020000000000000", "00000000000000000000000000000000", "BDA0959F633F1AAC"), 
    std::make_tuple("0010000000000000", "00000000000000000000000000000000", "8FC51AB26FBE5E97"), 
    std::make_tuple("0008000000000000", "00000000000000000000000000000000", "3DB0C7E5BA997608"), 
    std::make_tuple("0004000000000000", "00000000000000000000000000000000", "93D28EB470AF073B"), 
    std::make_tuple("0002000000000000", "00000000000000000000000000000000", "C0A06ED52EDEF8B0"), 
    std::make_tuple("0001000000000000", "00000000000000000000000000000000", "FABB5009B1711C73"), 
    std::make_tuple("0000800000000000", "00000000000000000000000000000000", "94753A63CDDF2157"), 
    std::make_tuple("0000400000000000", "00000000000000000000000000000000", "418C212BECA3330A"), 
    std::make_tuple("0000200000000000", "00000000000000000000000000000000", "CA45918EDF128CFF"), 
    std::make_tuple("0000100000000000", "00000000000000000000000000000000", "E0698AB795B7794C"), 
    std::make_tuple("0000080000000000", "00000000000000000000000000000000", "58762EF054860A81"), 
    std::make_tuple("0000040000000000", "00000000000000000000000000000000", "883FDCFE44375657"), 
    std::make_tuple("0000020000000000", "00000000000000000000000000000000", "9FDAAB2BD47390C5"), 
    std::make_tuple("0000010000000000", "00000000000000000000000000000000", "64F108CA31231BCA"), 
    std::make_tuple("0000008000000000", "00000000000000000000000000000000", "AFADE1ABADA43362"), 
    std::make_tuple("0000004000000000", "00000000000000000000000000000000", "6A987D66ED176CCA"), 
    std::make_tuple("0000002000000000", "00000000000000000000000000000000", "73B9F936475FA8DD"), 
    std::make_tuple("0000001000000000", "00000000000000000000000000000000", "4E5D0326552C013E"), 
    std::make_tuple("0000000800000000", "00000000000000000000000000000000", "7583863E0960FFFF"), 
    std::make_tuple("0000000400000000", "00000000000000000000000000000000", "0E7CDF8E36FD5D46"), 
    std::make_tuple("0000000200000000", "00000000000000000000000000000000", "CC74A5C1DAE22BA1"), 
    std::make_tuple("0000000100000000", "00000000000000000000000000000000", "8BF883323140CAA6"), 
    std::make_tuple("0000000080000000", "00000000000000000000000000000000", "6A061677A32B330B"), 
    std::make_tuple("0000000040000000", "00000000000000000000000000000000", "91D46AB9B92AE6A4"), 
    std::make_tuple("0000000020000000", "00000000000000000000000000000000", "D41EDC3D7F846B19"), 
    std::make_tuple("0000000010000000", "00000000000000000000000000000000", "F9A84A33FA626CD7"), 
    std::make_tuple("0000000008000000", "00000000000000000000000000000000", "1D415BE3124019F0"), 
    std::make_tuple("0000000004000000", "00000000000000000000000000000000", "4C154FE569DEED07"), 
    std::make_tuple("0000000002000000", "00000000000000000000000000000000", "78A847C198DD7271"), 
    std::make_tuple("0000000001000000", "00000000000000000000000000000000", "1057EE656C013B29"), 
    std::make_tuple("0000000000800000", "00000000000000000000000000000000", "408DFD7186AF2563"), 
    std::make_tuple("0000000000400000", "00000000000000000000000000000000", "2DE1757F9E0EE6BE"), 
    std::make_tuple("0000000000200000", "00000000000000000000000000000000", "CB3610CDBD62958D"), 
    std::make_tuple("0000000000100000", "00000000000000000000000000000000", "7E69E66C53CA96B0"), 
    std::make_tuple("0000000000080000", "00000000000000000000000000000000", "89413BF393A23167"), 
    std::make_tuple("0000000000040000", "00000000000000000000000000000000", "8E5B278638B50B37"), 
    std::make_tuple("0000000000020000", "00000000000000000000000000000000", "F6B6468C85DFD608"), 
    std::make_tuple("0000000000010000", "00000000000000000000000000000000", "37E7B0C207D436AE"), 
    std::make_tuple("0000000000008000", "00000000000000000000000000000000", "D3601DF25C181320"), 
    std::make_tuple("0000000000004000", "00000000000000000000000000000000", "7BA87CF78E96450B"), 
    std::make_tuple("0000000000002000", "00000000000000000000000000000000", "1D98AF7FD8DFB524"), 
    std::make_tuple("0000000000001000", "00000000000000000000000000000000", "3B5E9E8275D471BC"), 
    std::make_tuple("0000000000000800", "00000000000000000000000000000000", "7609BC1137720287"), 
    std::make_tuple("0000000000000400", "00000000000000000000000000000000", "5EA325CC78190CA2"), 
    std::make_tuple("0000000000000200", "00000000000000000000000000000000", "DD05C5D9ED42C284"), 
    std::make_tuple("0000000000000100", "00000000000000000000000000000000", "8F542A10AF0C08C5"), 
    std::make_tuple("0000000000000080", "00000000000000000000000000000000", "117C475C1EC79D8F"), 
    std::make_tuple("0000000000000040", "00000000000000000000000000000000", "FA1B4EFC38CB38F9"), 
    std::make_tuple("0000000000000020", "00000000000000000000000000000000", "15D6A98F07E76BB7"), 
    std::make_tuple("0000000000000010", "00000000000000000000000000000000", "FDFC1F860EC1A432"), 
    std::make_tuple("0000000000000008", "00000000000000000000000000000000", "6653A552632DB3CA"), 
    std::make_tuple("0000000000000004", "00000000000000000000000000000000", "F90AF3CF757500E0"), 
    std::make_tuple("0000000000000002", "00000000000000000000000000000000", "64E414ECF54EB681"), 
    std::make_tuple("0000000000000001", "00000000000000000000000000000000", "AAF64681E2AC59B1"), 
};

#endif // __RC5TESTVECTORSSET2__